This invention relates to wireless packet-based networks, to wireless stations thereof, and in particular to error detection in packets by a wireless station of a wireless network such as a wireless local area network (WLAN).
There have been a number of techniques developed to detect and correct errors in transmissions. Error-correcting codes (ECCs) and error-detecting codes (EDC) are two classes of methods developed to overcome the problem of transmission errors. ECCs provide enough redundant information such that errors in transmission (up to a certain tolerance) can not only be detected, but can automatically be corrected in a receiver without retransmission. EDCs provide enough redundant information such that a receiver can detect errors in a transmission.
Wireless networks such as wireless data networks typically wirelessly transmit information as discrete bundles of data, otherwise known as packets. Packets have a structure that is typically defined by a specification or standard, and a packet structure is usually a composition and/or hierarchy of discrete units of data. It is common in the art to use ECC and EDC methods to protect specific parts of a packet, e.g., to protect subpackets of a packet. For wireless networks such as those conforming to one of the variants or derivatives of the IEEE 802.11 standard, parity bits and polynomial or Cyclic Redundancy Check (CRC) codes are commonly used to protect subpackets of a packet.
There is a desire in the art to protect specific parts of a packet, even in ways not directly provided for by the communication standard that the packet conforms to. For example, the IEEE 802.11 standard provides a 1-bit parity check to protect the SIGNAL field of the PLCP header. A 1-bit parity check is insufficient to protect against a large percentage of the possible transmission errors. See for example, U.S. patent application Ser. No. 10/629,383 filed Jul. 28, 2003 to inventors Keaney, et al., titled “EARLY DETECTION OF FALSE START-OF-PACKETTRIGGERS IN A WIRELESS NETWORK NODE,” and assigned to the assignee of the present invention, that describes the inclusion in the physical layer header of a packet for transmission information that helps protect the integrity of such a header and that provides for a matching receiver to quickly determine whether or not a start of packet trigger is a false start of packet trigger. U.S. patent application Ser. No. 10/629,383 is incorporated herein by reference.
As another example, protecting the medium access controller (MAC) header part of an IEEE 802.11 MAC frame is valuable because the MAC processor of receiving station can use an integrity check on the MAC header to determine whether or not to process remaining parts of the MAC frame. Unfortunately the standard only provide protection in the form a polynomial (CRC) code to the entire MAC frame which-includes-both the MAC header and the MAC payload. By the time a traditional integrity check can be calculated, it may becomes no longer necessary or useful to determine the integrity of the MAC header alone.
One solution to this problem is to use reserved fields or bits of a packet to store one or more additional check sequences. Many network standards and protocols define packet structures with reserved field. For example, the IEEE 802.11 standard defines a part of the packet, the SERVICE field in the PLCP header, to be comprised of unused bits that are normally set to zero. A check sequence can be computed to protect the SIGNAL field and the MAC header and the resultant value placed in the unused bits of the SERVICE field. See above-mentioned U.S. patent application Ser. No. 10/629,383.
However, check sequences are typically appended to the end of the subpacket that is to be protected, especially those systems using polynomial (CRC) modules. Extra steps must be taken to embed and verify a check sequence in an arbitrary region of a packet, e.g., before the end subpacket that is to be protected. To handle a check sequence, both the wireless transmitter and the wireless receiver must perform extra steps, usually by buffering and/or reformatting parts of the packet. For wireless stations that are trying to minimize complexity in design and/or save material costs, such extra steps are highly undesirable.
Thus there is a need in the art for a method and apparatus to protect a subpacket with a check sequence, such that a receiver receiving a subpacket with a check sequence can sequentially verify the subpacket without executing extra steps to manipulate or process the check sequence.